project(myhp)


set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

cmake_minimum_required(VERSION	2.8)
SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)


set(USE_STATIC_LIBRARY true)
ADD_DEFINITIONS(-DV_ZLOG -DMSYSDB_orc )

set(LIBRARY_OUTPUT_PATH      lib)
set(EXECUTABLE_OUTPUT_PATH   bin)
SET(CMAKE_C_FLAGS "-g -pg -ggdb -std=gnu99 -fms-extensions") 
SET(CMAKE_CXX_FLAGS "-g -pg -ggdb -std=c++11 -fms-extensions -fsanitize=address  -fno-omit-frame-pointer") 

LINK_DIRECTORIES(
)

find_package(GTest)
if(GTest_FOUND)
ADD_DEFINITIONS(-DWITH_TEST)
endif()

enable_testing()
find_package(GMP   REQUIRED)
find_package(gflags COMPONENTS nothreads_static)
#find_package(gflags REQUIRED)
include_directories(${GTEST_INCLUDE_DIRS})


SET(TUXCLIENT_LIB
tux 
buft 
fml 
fml32 
engine 
dl 
pthread 
)


add_library(mtool STATIC String.cc  vedis/vedis.c  
TcpSocket.cc
IOFile.cc 
Application.cc 
HttpRequest.cc 
HttpResponse.cc
FdEvent.cc 
TcpApplication.cc   
ByteBuffer.cc 
BufferManager.cc 
TcpClient.cc   
HttpProtocol.cc
)

#add_executable(myhp tcpserver.cc tcpimpl.cc  httpimpl.cc)
#target_link_libraries(myhp pthread mtool gflags)


if(GTest_FOUND)
add_executable(HttpRequest_unittest  HttpRequest_unittest.cc )
target_link_libraries(HttpRequest_unittest  mtool  ${GTEST_BOTH_LIBRARIES} pthread)




add_executable(vedis_shell vedis/vedis_shell.c)
target_link_libraries(vedis_shell mtool  ${GTEST_BOTH_LIBRARIES} pthread)



add_executable(String_unittest  String_unittest.cc  String.cc)
target_link_libraries(String_unittest  ${GTEST_BOTH_LIBRARIES} pthread)
endif()

add_executable(TcpApplication_demo   TcpApplication_demo.cc  )
target_link_libraries(TcpApplication_demo  mtool   pthread)


set(ODPI_SRC
 odpi/src/dpiConn.c
 odpi/src/dpiContext.c
 odpi/src/dpiData.c
 odpi/src/dpiEnv.c
 odpi/src/dpiError.c
 odpi/src/dpiGen.c
 odpi/src/dpiGlobal.c
 odpi/src/dpiLob.c
 odpi/src/dpiObject.c
 odpi/src/dpiObjectAttr.c
 odpi/src/dpiObjectType.c
 odpi/src/dpiPool.c
 odpi/src/dpiStmt.c
 odpi/src/dpiUtils.c
 odpi/src/dpiVar.c
 odpi/src/dpiOracleType.c
 odpi/src/dpiSubscr.c
 odpi/src/dpiDeqOptions.c
 odpi/src/dpiEnqOptions.c
 odpi/src/dpiMsgProps.c
 odpi/src/dpiRowid.c
 odpi/src/dpiOci.c
 odpi/src/dpiDebug.c
 odpi/src/dpiHandlePool.c
 odpi/src/dpiHandleList.c
)

include_directories(odpi/include)

add_library(odpi STATIC ${ODPI_SRC})
